/** @odoo-module */
// js文件第一行包含字符串 @odoo-module，它将自动转换为一个odoo模块

import { Component, useState } from "@odoo/owl"

export class Counter extends Component {

  // useState是owl中的钩子，可以对状态变化做出响应
  // useState必须接收一个对象或数组，并且只适用于对象或数组。因为它需要对状态的变化做出反应
  // 组件中的钩子必须 在 setup()方法中或其类字段中 调用
  setup() {
    this.state = useState({ value: 1 }) //给state初始值1。state是自定义字段
  }

  increment() {
    this.state.value = this.state.value + 1;
  }
}

Counter.template = "counter.Counter"  // 同 在类中定义 static template = "counter.Counter";